Vending machine audit monitoring system

ABSTRACT

An audit monitoring system ( 10 ) is provided for use with any of a multiplicity of different coin operated vending machines ( 300 ). The audit monitoring system includes an interface assembly ( 102 ) for use in replacing an existing data link ( 330 ) within vending machine ( 300 ). The interface assembly ( 102 ) is coupled to an audit monitoring assembly ( 100 ) which interprets the communications signals transferred between a controller ( 310 ), coin changer ( 322 ) and bill validator ( 324 ) of vending machine ( 300 ). Audit monitoring assembly ( 100 ) is powered from a power supply ( 302 ) of vending machine ( 300 ) and includes interface circuitry ( 110,120,130 ) for receipt of digital logic level signals, serial data or relay logic signals from vending machine ( 300 ). Additionally, the data retrieval terminal ( 20 ) may be removably coupled to the audit monitoring assembly ( 100 ) through either a hard wired coupling ( 254 ) through a serial interface ( 250 ) or alternately by means of infrared optical signals ( 12, 22 ) through an infrared interface circuit ( 260 ).

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention directs itself to audit monitoring systems for use withcoin operated vending machines. In particular, this invention directsitself to an audit monitoring system having an interface assembly forretrofit coupling with existing vending systems of various types andmanufacture. Still further, this invention directs itself to an auditmonitoring system having a microprocessor controlled audit monitoringassembly coupled to an interface assembly, both being installed in anexisting coin operated vending system for monitoring control signalsbetween the vending machine's controller and its funds receiving anddispensing equipment. More in particular, this invention pertains to amicroprocessor controlled audit monitoring system wherein predeterminedparameters utilized for interpreting transaction data for the coinoperated vending machine is output from the system's memory responsiveto an identification code input thereto. Further, this invention directsitself to an audit monitoring system utilizing a clock/counterimplemented within the microprocessor for such functions as timing powerfailures and door openings.

2. Prior Art

Audit monitoring systems are well known in the art. The best prior artknown to the Applicants include U.S. Pat. Nos. 5,205,436; 5,113,351;5,036,966; 4,369,442; and, 4,216,461.

In prior art systems such as that disclosed by U.S. Pat. Nos. 4,369,442and 4,216,461, microprocessor controlled audit systems are incorporatedin vending machines for temporarily storing transaction data of themachine and subsequently outputting such to a data collection terminal.However, such systems are adapted for interface with one particular typeof machine of a single manufacturer. Such systems do not provide anymeans for retrofit application to existing coin operated vendingsystems. Further, such systems do not provide any means for utilizingidentification codes for signifying a particular type of machine, andutilizing appropriate signal interpreting parameters in conjunction withsuch codes.

In other prior art systems, such as that disclosed by U.S. Pat. No.5,036,966, coin validation equipment is provided for retrofit intonewspaper vending racks. Such systems have the capability of recordingthe time and day of sale, and subsequently transferring such data by anoptical communications link to a data retrieval device. However, suchsystems do not provide for retrofit to a multiplicity of different typesof machines, made by different manufacturers. Nor, do such systemsinclude any means for interface with a vending machine's controller andcoin accepting devices.

In still other prior art systems, such as that disclosed by U.S. Pat.Nos. 5,205,436 and 5,113,351, vending systems coupled to remoteprocessors are provided. Such remote processors are capable ofmonitoring the transactions of the vending systems. providing usage andinventory data to the vending system operator. However, such systems aredesigned to operate with a particular type of vending system from aparticular manufacturer. Such audit systems are incorporated into thevending equipment at the time of manufacture, and am not capable ofretrofit into any of a plurality of existing vending machines.

SUMMARY OF THE INVENTION

An audit monitoring system for use with a coin operated vending systemis provided. The audit monitoring system includes an interface assemblycoupled to a data link between the vending machine's controller and itsfunds receiving and dispensing equipment, for monitoring communicationtherebetween. The audit monitoring system further includes amicroprocessor coupled to an output of the interface assembly for (1)interpreting the monitored communications responsive to predeterminedparameters, and (2) discriminating and accumulating transaction data forthe coin operated vending system. Coupled to the microprocessor, thereis provided a memory array for (1) storing the predetermined parameters,(2) outputting the predetermined parameters to the microprocessorresponsive to an identification code input to the memory array, and (3)storing the transaction data. A power supply coupled to the interfaceassembly, microprocessor and memory array is provided for supplying anoperating voltage thereto. The audit monitoring system also includes aninput/output assembly removably coupled to the microprocessor for inputof the identification code to the microprocessor and output of thetransaction data therefrom.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an overall block diagram for audit monitoring system 10illustrating its retrofit interface with a vending machine 300;

FIG. 2 is a block diagram detailing the circuit elements which form theaudit monitoring assembly 100, and their interface with the vendingmachine 300;

FIG. 3 is a circuit block diagram depicting the bill validator interfacecircuit block; and,

FIGS. 4-6 comprise a flow chart of the upper level software algorithm ofthe audit monitoring system.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring to the Figures, them is shown, a vending machine auditmonitoring system 10 for retrofit into any of a wide variety existingvending machines 300. As will be seen in following paragraphs, vendingmachine audit monitoring system 10 is specifically directed to theconcept of providing a means of adding an audit monitoring capability topreviously manufactured coin operated vending machines of various typeswhich otherwise had none. Although not restricted to retrofitapplications, vending machine audit monitoring system 10 is particularlyadapted to interface with a large variety of different types of coinoperated vending machines, adding an audit capability thereto. Inaddition to being capable of interfacing with a multitude of machinetypes, vending machine audit monitoring system 10 also provides thecapability for interfacing with different types of data retrievalterminals, communicating through either a hard wire or infrared datalink, each having a different protocol.

Referring now to FIG. 1, there is shown, a conventional vending machine300 of the type including therein a coin changer-bill validator assembly320 for receiving and dispensing funds coupled to a controller 310 by adata link 330. Data link 330 may be formed by a plurality of conductorsfor providing bi-directional serial communications, a parallel data bus,or a combination thereof. As is typical of such vending machines,vending machine 300 is of a modular construction wherein the controller310 includes a connector 312 for coupling to a complementary connector332 of data link 330. Similarly, coin changer-bill validator assembly320 includes a connector 322 for coupling with the complementaryconnector 334 of data link 330. Vending machine 300 may be any one of aplurality of different types of vending machines. Such different typesof vending machines 300 may include those that provide one or moreselectable items, each vended at the same price, or be of a more complexvariety having a multiplicity of different produces available to vend,wherein each type is each priced differently, or each type belongs toone of a plurality of different price groups. This latter type ofmachine is commonly referred to as a multi-price machine, and the formeris referred to as a single price machine.

To further complicate the variety of vending machine 300 which may beencountered, it should be noted that the coded signals utilized totransmit data between the controller 310 and the equipment utilized forreceiving and dispensing funds, as represented by the coin changer-billvalidator 320 assembly, may differ from one manufacturer of vendingmachine 300 to another. Bill validators may also differ between machinesof the same general type (multi vs. single price) from the samemanufacturer, thereby creating many sub-categories. Thus, there hasheretofore not been a single audit system capable of interfacing withother than a single and narrow class of vending machine, and that classfrom only a particular manufacturer.

Vending machine audit monitoring system 10 includes an interfaceassembly 102 which is coupled to the vending machine data linkconnectors for monitoring and carrying communications between the fundsreceiving and dispensing equipment 320 and the vending machinecontroller 310. The interface assembly 102 includes the appropriateconductive pathways 340 coupled on opposing ends to connectors 342 and344 for replacing the connections made by connectors 332 and 334,respectively. The conductive pathways in the link 340 are either tappedor daisy-chained through an interface cable 346 which is terminated in arespective connector 348 for coupling with a complementary connector 14of the audit monitor assembly 100. It is therefore only necessary thatthe data link 330 be removed from the vending machine 300 and replacedby the interface assembly 102, coupling the controller connector 312 tothe connector 342 and the coin changer-bill validator connector 322 tothe interface connector 344.

The audit monitor assembly 100 is secured within the housing of vendingmachine 300 and subsequently initialized utilizing the data retriever20. Data retriever 20 is a hand-held terminal-type device whichcommunicates with the audit monitor assembly 100. Data retriever 20 maybe of a type that receives infrared signals 12 from the audit monitorassembly 100 and similarly transmits infrared signals 22 thereto.Alternately, the hand held terminal may be of the type where the datalink is formed utilizing a removable hard wire connection. Obviously,the data retriever may take the form of a personal computer, lap-top,palm or pocket size computer, or a modem for coupling with a remote dataprocessor without affecting the inventive concept of system 10. Theinitialization procedure includes the transmission of a coderepresenting the type of machine being monitored. The audit monitoringassembly 100 utilizes this code for identifying predetermined parameterspreviously stored in memory and utilizing such in interpreting themonitored communications between the units 310 and 320.

As will be discussed in following paragraphs, subsequent toinitialization, the audit monitor assembly 100 is adapted todiscriminate between vending operations for items of different monetaryvalues and accumulate a total number of operations for each of thedifferent monetary values, as well as a total of all of the vendingoperations. Additionally, assembly 100 tracks how many bills are locatedin particular portions of the bill validator and the number of coins,and their value, which are in various portions of the coin changer, aswell as the number and value of coins which have been paid out. Theaudit monitor assembly 100 is also capable of tracking the number oftimes the interior of the vending machine 300 has been accessed, as wellas the time and date associated therewith, the time and date of poweroutages, and the time and date of data retrieval by the data retrieverterminal 20.

Referring now to FIG. 2, there is shown, a block diagram of the auditmonitor assembly 100 and its connection to the subassemblies of thevending machine 300. As previously described, the interface assembly 102provides the means by which the audit monitoring assembly 100 is coupledto the various components of vending machine 300. In addition toproviding the monitored signals to the audit monitor assembly 100,interface assembly 102 also provides the power for operating thecircuits of assembly 100 from the power supply 302 of vending machine300.

Interface 102 provides the necessary conductive pathways 340 to maintainthe communications data link between the controller 310 and both thecoin changer 322 and bill validator 324, as well as coupling from thepower supply 302 to each of those subsystems. As will be seen infollowing paragraphs, the interface with the vending machine data linkmay involve more than simple paralleling of the signal pathways toprovide monitoring signals to assembly 100. Although it is rare to findvending machines without bill validators, where system 10 is to beincorporated into such a machine, obviously, that connection would beomitted from the interface assembly 102. Where it is desired toaccumulate data as to the number of times the interior of the vendingmachine 300 had been accessed, a door switch 104 is secured to themachine such that its contacts are operated whenever the door of thevending machine is opened. It is not important to the inventive conceptas to whether such contact operation is from a normally closed conditionto an open condition, or from a normally open condition to a closedcondition, and adaptation to the circuits of audit monitor assembly 100to use either is well within the knowledge of those skilled in the art.A pair of conductors of a cable 347 provide electrical coupling betweenthe door switch 104 and the connector 348, as part of the cable 346 forcommunicating any contact operation to audit monitor assembly 100.

The source of power for audit monitoring assembly 100 is derived fromthe power supply 302 of vending machine 300. The voltage supplied bypower supply 302 may vary considerably, depending on the type of vendingmachine 300 which is to be monitored. However, the power supply voltageof a vending machine 300 will typically fall in one of two categories,either an unregulated relatively high voltage in the range of 12-16volts, or a regulated 5 volt source suitable for use with integratedlogic circuits, such as TTL logic. Interface 102 is designed such thatan unregulated power supply voltage from vending machine 300 will becoupled to the appropriate pins of connector 14 for coupling theunregulated power source between the ground reference 144 and the inputlead 142, through the connector 14. Input lead 142 couples theunregulated voltage to a voltage regulator 140 having an output voltagebus 146 for supplying a regulated 5 volts to all of the active deviceswhich form the assembly 100. Although not shown, it is understood thatthe supply voltage V_(CC) is coupled to all of the active devices ofassembly 100 in a manner similar to that shown for microprocessor 200,such being coupled to the 5 volt bus 146 and the ground reference 144.Alternately, wherein the power supply of vending machine 300 providesthe proper regulated voltage, such is coupled through the connector 14to the input lead 152 for coupling with the DC bus 146 through anisolation diode 150 and the coupling line 154.

Where the controller 310 communicates with the coin changer 322utilizing logic level signals on the data link 314, such are coupledthrough the respective connectors 348, 14 to the input bus 112 forcoupling to the logic level interface 110. Logic level interface 110buffers and/or conditions the logic level signals for coupling tomicroprocessor 200 by way of the coupling line 114. On the other hand,where vending machine 300 is of the type having a controller and coinchanger which communicate at high voltage levels (greater than 5 volts)and/or by way of a serial data format, such are coupled through therespective connectors 348, 14 to the input lead 132, for input to thehigh voltage/serial interface circuit 130. The signals supplied to theinput of the interface 130 are appropriately converted to logic levelsignals suitable for coupling to microprocessor 200 through the couplingline 134. Interface 130 may incorporate optical couplers as a means ofachieving both signal isolation and voltage transformation, as is wellknown in the art. Where vending machine 300 includes a bill validator324, the communications carried by data link 316 are routed through theconnectors 348, 14 to the bill validator interface 120 through thecoupling line 122. As will be seen in following paragraphs, billvalidator interface 120 couples signals corresponding to those on line122 input to microprocessor 200 through the coupling line 124, andoutputs the appropriate signals to the controller 310 substantiallysimultaneously.

Referring now to FIG. 3, there is shown, a schematic representation ofthe bill validator interface 120. Responsive to an input signal from thebill validator 324 coupled to line 121, such signal being in the form ofrelay closures or conduction of active open collector device forapplying a momentary ground, from line 121′, to line 121. A current thenflows from the voltage supply V_(CC) through the current limitingresistor 127 and the input light emitting diode of the optical coupler128 for generating an equivalent number of optical pulses transmittedwithin optical coupler 128 to the output photo transistor thereof.Responsive to the optical signal received by the photo transistorportion of optical coupler 128, the signal line 124 is brought down tosubstantially ground potential for a period of time representative ofeach pulse input to optical coupler 128. Such impulses are detected atthe input of microprocessor 200 and interpreted thereby, as will bedescribed in following paragraphs. Substantially simultaneous with thegeneration of the signal coupled to output line 124, a relay 123 isenergized responsive to each of the negative going pulses input on line121. The relay contacts 126 thus provide an intermittent contact closurebetween the leads 129 and 129′ which are coupled to the controller 310of vending machine 300 for simulating the conventional output of billvalidator 324 while also providing electrical isolation. Thus, by meansof the interface assembly 102, being adapted to appropriately couple theinternal signals of vending machine 300 to the connector 14 of the auditmonitoring assembly 100, the operations of vending machine 300 can bemonitored to collect audit data therefrom.

While the operational signals of vending machine 300 may be easilycoupled to audit monitor assembly 100, in the aforesaid manner, tomicroprocessor 200, the interpretation of those signals is complicatedby the fact that the sequence and timing of such signals varies from onemanufacturer's vending machine 300 to another and from onemanufacturer's type of machine having one type of bill validator toanother of the same manufacturer's machine having a different type ofbill validator. As a simplified example, one vending machine 300 may usea bill validator 324 having an escrow feature, that is, a received billthat has been determined by the validator to be valid legal tender, isheld in an escrow position. From the escrow position it may be returned,if no vending selection is made, or accepted upon the user making hisarticle selection and the machine vending the product. In such case, thevalidator 322 outputs a, pulse upon initial receipt of a valid bill anda second pulse when the bill is accepted and moved from the escrowposition. Whereas, a non-escrowing type of bill validator accepts allvalid bills, providing a refund when no vend is made through the coinchanger. Thus, for the non-escrowing type of bill validator only asingle pulse is output for each potential vend operation, and the coinchanger will be signaled if no vend operation is carried out. Stillother types of validators are multi-value devices which identify thevalue of the bill input thereto and signal such by output of a number ofpulses representing that value. In such a system, acceptance of afive-dollar bill will be signaled by the output of a pulse traincomprising five consecutive pulses. Microprocessor 200 must be able todistinguish between these different signal protocols in order toproperly account for the transactions of a particular vending machine300 to which it has been coupled.

Referring back to the block diagram of FIG. 2, microprocessor 200 isshown coupled to a read only memory 230 by means of the coupling line232, representing the necessary data, addressing and control signalpathways for bi-directional communication therebetween. Similarly,microprocessor 100 is coupled to an electrically erasable programmableread only memory 220 by means of the coupling line 222. Read only memory220 may be any programmable type of non-volatile memory, either internalor external to the microprocessor without departing from the inventiveconcept. Read only memory 230 stores the software which controls theoperation of microprocessor 200, as well as the many differentparameters which may be required for microprocessor 200 to interpret thesignals monitored through the interface assembly 102, as previouslydiscussed. Responsive to the microprocessor's receipt of anidentification code during the initialization procedure, performedduring the installation of the audit monitoring assembly 100 into thevending machine 300, software flags are set such that the appropriateparameters are transferred from read only memory 230. These parametersmay be used in processing input signals as they are read, or transferredto the non-volatile memory 220 for subsequent use in the softwareroutines used by microprocessor roll in interpreting the monitoredcommunications of vending machine 300. It is not important to theinventive concept which method is used, however, it is of particularimportance that the many parameters for the different vending machinesbe stored in assembly 100 and selectively made available responsive toentry of an identification code. All of the audit data and time stampinginformation is stored in the erasable read only memory 220 forsubsequent transfer to a data retrieval terminal 20.

Microprocessor 200 is coupled to a pair of output interface circuits250, 260 by respective coupling lines 252,262. Interface circuit 250 isa serial interface for bi-directional communications to a retrievalterminal 20. Such communications being through a cable 254 which isremovably engageable with an appropriate connector mounted to thehousing which encloses the audit monitoring assembly 100 or a cableextending therefrom. The communications carried by the cable 254 may usean industry standard protocol known as the Direct Connect InterfaceStandard, although microprocessor 100 may be programmed to receive andtransmit any desired protocol. Interface 260 is an optical interface fortransmitting and receiving signals within the infrared portion of theelectromagnetic spectrum. The protocol for data transmitted through thisoptical interface may also be an industry standard, or one speciallytailored to a particular type of terminal 20. Like the identificationcodes utilized for “personalizing” audit monitoring assembly 100 to aparticular vending machine 300, the output interface protocol can besimilarly tailored utilizing a code input when the system isinitialized, utilizing a default protocol for the initialcommunications. Alternately, the protocol used for transmission toassembly 100 can be identified by microprocessor 100, and then utilizedfor transmission of data output thereby.

Microprocessor 200 may also receive an input from the real time clock240, by means of coupling line 244, which may be included in the systemto provide time stamps in association with particular events, andthereby improve the audit capabilities of system 10. Real time clock 240is powered from voltage supplied to the power supply input lead 242 ofreal time clock 240, such voltage normally being supplied from the powersupply bus 146 through an isolation diode 164. However, real time clock240 is also coupled to a backup battery 160 through an isolation diode162. Thus, if power is interrupted to the vending machine 300, the realtime clock 740 will remain energized from the battery 160, with thediode 164 preventing flow of current from battery 160 to any otherdevice coupled to the power supply bus 146. Similarly, the diode 162prevents any flow of current from the power supply bus 146 to thebattery 160, which is desirable for applications utilizing lithiumcells. However, in cases where nickel cadmium batteries are utilized,the diode 162 may be eliminated or bypassed with a current limitingresistor to providing for charging current to maintain the cells in afully charged state between power interruptions.

Real time clock 240 provides the capability for identifying a time anddate of various operations and transactions of vending machine 300 andassembly 100. Events such as door switch operations, in addition tobeing simply counted, may be tagged with the time and date of theoccurrence, allowing a vending machine owner to identify when thevending machine was accessed to replenish the goods being vended and/orremoval of cash therefrom, regardless of whether audit data is retrievedat such time. The time and date may also be stored at the restoration ofpower, subsequent to a power failure. This power failure data, thefrequency of occurrences and their time of day/date, can be utilized inassessing whether power is being deliberately removed in order to bypassthe audit function of system 10. This feature is enhanced byincorporation of the power down detection circuit 270. Detection circuit270 outputs an interrupt to microprocessor 200 on line 276 when thepower supply voltage falls below a predetermined threshold value,indicating that a power outage is imminent. Detector circuit 270 iscoupled to the V_(CC) supply by line 272 and the ground reference 144 byline 274.

Audit monitoring assembly 100 uniquely utilizes microprocessor 200 todetect a power failure, and in combination with real time clock 240determines when the power was restored and the length of time that powerwas out. As will be described in following paragraphs, a clock counteris implemented in the software of microprocessor 200, which may beutilized for timing events in applications not requiring the accuracy ofreal time clock 240, which would be excluded from assembly 100 in suchapplications, as could power down detector circuit 270. In the absenceof power down detector circuit 270, the internal clock counter and useof two bytes of memory provide a unique means for identifying and timingpower failures without the need for additional hardware to identify alow voltage condition.

The internal clock counter is incremented at two minute intervals, withthe new accumulated total stored in ROM memory 120 every hour, or anyother time increment desired depending on whether memory write cyclesare to be limited. Since microprocessor 200 is not provided with anybattery backup, its processing stops coincident with a loss of power,and upon power restoration must reinitialize variables, counters and thelike. Thus, whenever power is restored, the internal clock counter isreset to the last value that was stored in ROM 220. Power failures areidentified by the state of a pair of bytes of memory on reinitializationof microprocessor 200. Part of the initial start-up processing is tostore a known bit pattern in each of two bytes of memory. When thesystem is reinitialized after a power outage, those two bytes willcontain random bit patterns, thereby indicating that a power failure hadoccurred. Responsive to identification of such an abnormal condition,microprocessor 200 increments a power outage count stored in ROM 220,and reads the real time clock 240, if such is present, to identify thetime and date of power restoration, and stores such data in non-volatilememory 220. If real time clock 240 is not present,, microprocessor 200uses the last internal clock counter accumulation which had been storedin non-volatile memory 220 for the power failure time stamp, whichrepresents, on average, the nearest half hour time period prior to thepower failure. The difference between that last time period establishedby the internal clock counter and the time-of-day read from the realtime clock 240 establishes the approximate length of time that power wasout. Such is more accurately determined where the occurrence of a powerfailure is identified by the power down detection circuit 270.Obviously, the frequency of power outages, the time that they occur andlength of such occurrence provides important security data to the ownerof vending machine 300.

Referring now to the flow charts of FIGS. 4-6, there is shown an outlineof the upper level software flow utilized in microprocessor 200. As istypical in microprocessor controlled systems, upon energization,initialization procedures are initiated. As indicated in block 400, suchinitialization is carried out responsive to energization. Theinitialization block represents such operations as resetting timers,enabling interrupts and clearing variables. From block 400, the flowpasses to the decision block 402, wherein it is determined whether theoptical interface has received any communication. If opticalcommunications have been received, the flow passes to block 404, whereinthe optical communications module, a separate software sub-routine, isenabled. Subsequent to completion of optical communications, carried outby the sub-routine called from block 404, the flow would pass todecision block 412. If no optical communication had been received, flowpasses from decision block 402 to decision block 408, wherein it isdetermined whether any communication is received through the hardwireserial interface. If such communication has been received, flow passesto block 410, wherein the direct connect communications module iscalled. Subsequent to completion of any such communications, flow passesfrom the block 410 to the decision block 412, as does the flow fromdecision block 408 if no communication was received by the serialinterface. Decision block 412 tests whether the identification codes forvending machine 300 have been previously received, and if not, flowpasses to′ the sub-routine called in block 414. Since the properinterface with vending machine 300 cannot be achieved without theappropriate identification codes being entered, the flow from block 414passes back to decision block 402 to form a continuous loop until theidentification codes have been received. Obviously, an indication (suchas a message output to terminal 20) that the code must be entered isprovided by the system. Alternately, the system could begin with defaultor random parameters selected, such being subsequently changed toproperly interface with a specific machine.

Once the identification codes for vending machine 300 have beenreceived, or if such had previously been entered, flow passes fromdecision block 412 to decision block 416. Decision block 416 testswhether a power failure had occurred since the last time through themain processing loop. As was previously described, whether a powerfailure had occurred or not is determined by the state of the internalclock/counter in combination with the state of audit data retrieval(whether such has just occurred). If a power failure has beenidentified, the flow passes from decision block 416 to block 418,wherein power failure housekeeping is performed, such as storing thetime and date of the power failure, reading the last stored output ofthe internal clock/counter, and determining the duration of the poweroutage determined and storing that determination. From block 418 flowpasses to decision block 420, as does the flow from decision block 416if no power failure is detected. In block 420, it is determined from thepreviously entered I.D. codes whether vending machine 300 is a vendingmachine where audit data is supplied by the coin changer.

If the vending machine 300 is of the type where the changer suppliesaudit data, the flow passes to decision block 424, wherein the vendingmachine interface is tested to determine whether an audit message(communication relative to operations of the vending machine which areaccumulated by the audit system) has been received from the vendingmachine hardware through the interface circuitry of assembly 100. Ifsuch audit message was received, flow passes from block 424 to block 426wherein the sub-routine for handling the audit message and processingthe data is called. From block 426 the flow loops back to decision block402. If no audit message is currently being received, flow passes fromblock 424 to decision block 428, wherein it is tested whether thevending machine door has been opened, by monitoring the installed doorswitch, as has previously been described. If the door switch hasoperated, flow passes to block 430, wherein the door switch sub-routineis called. From block 430, the flow passes to block 432, wherein thetime and date from the real time clock is read and stored in thenon-volatile memory. From block 432, flow passes back to decision block402. If the door has not been opened, flow passes to decision an block434. Decision block 434 tests to determine when the last time theinternal clock counter state had been saved. If this time period is lessthan two minutes, the flow passes from block 434 back to decision block402. However, if the time period is not less than two minutes, the flowpasses from block 434 to block 436, wherein the accumulated count of theinternal clock/counter is saved in non-volatile memory. From block 436the flow passes back to block 402.

If in decision block 420 it is determined that audit data is notprovided by the coin changer, the flow passes through connector 422 tothe bill validator initialization routine indicated by block 438 of FIG.5, as the bill validator, coin acceptor and controller must each bemonitored to ascertain the audit data. Initialization of the billvalidator parameters includes the setting of particular flags in thesoftware for translating the signals which pass between the billvalidator 324 and controller 310 of vending machine 300. Theseparameters are selected responsive to the identification codes enteredwhen the system was first initialized. From block 438, flow passes toblock 440 wherein the particular variables utilized for tracking thebill validator operation and vending transactions are cleared. Fromblock 440 flow passes to decision block 442, wherein it is testedwhether the vending machine door has begin opened. If the door switchindicates that the vending machine door has been opened, flow passes toblock 444 wherein the door switch module is called and the appropriateincrementing of counters is accomplished. From block 444 flow passes toblock 446 wherein the time and date is read from the real time clock andsuch is appropriately stored. From block 446 the flow loops back todecision block 442. If the door has not been opened, or has subsequentlybeen closed, flow passes from block 442 to decision block 448. As inblock 434, previously described, block 448 tests to determine whethertwo minutes has passed since the last time the internal clock counterstate had been saved. If the two minute time period has lapsed, thenflow passes to block 450 wherein the accumulated count is saved. Fromblock 450, flow loops back to decision block 442. If less than twominutes has elapsed, flow passes from block 448 to block 452. In block452, the activity of vending machine 300 is monitored, identifyingoperation of the controller, coin acceptor and bill validator,essentially reading from the interface to determine whether any activityis transpiring.

From block 452, flow passes to block 454, wherein it is tested whetheractivity between the controller 310 and the coin changer 322 or billvalidator 324 has occurred. If no activity has occurred, flow passesfrom block 454 back to block 442. However, where activity is detected,flow passes from block 454 to block 458 of FIG. 6, through connector456. In block 458, it is determined whether the controller 310 hasindicated that cash be paid back to the customer through the coinchanger 322 or bill validator 324 (return the escrowed bill). If suchsignals had been detected, flow passes from block 458 to block 460. Inblock 460, the payback activity of the vending machine is monitored,with flow then passing to decision block 462. In block 462 it is testedwhether the payback command from the controller 310 has been carried outby the coin changer or bill validator. If such had not yet been carriedout, the flow passes back to decision block 458 to form a loop whichcontinues until the payback is complete. Upon completion of the payback,the flow passes from block 462 to decision block 464. In block 464, itis determined whether the customer has received a full refund, or onlychange from a vending of an item or items. If the customer had receiveda full refund, flow passes back to block 402 of FIG. 4 through connector406, since no vend has occurred. However, if the customer received onlychange, flow passes to block 466. In block 466, the vend audit data,which may comprise the cost of the item, the amount tendered to themachine, and the change dispensed therefrom, are stored. Obviously, thereal time clock 240 may be utilized to time and date stamp the purchaseif such data were desired. Subsequent to storage of the vend audit datain block 466, flow passes back to block 402 of FIG. 4 through connector406 to repeat this process.

It can thus be seen, system 10 provides a unique ability to interfacewith a wide variety of existing vending machines to provide a retrofitaudit capability not previously available with a single audit monitoringassembly. Audit monitoring assembly 100 in combination with interfaceassembly 102 permits adaptability of one system 10 to vending machinesfrom different manufacturers and of different configurations, from thesame or different manufacturers. An identification code entered toidentify the machine type and configuration is utilized bymicroprocessor 200 to select the appropriate parameters for decoding thesignals received and output by the controller 310 of the vending machine300. With proper decoding of the signals utilized by the vending machine300, the audit monitoring assembly 100 can properly store thetransactions of the particular machine to which it is connected.Periodically, a data retriever 20 will be coupled to monitoring assembly100, through either a hard wire or optical interface, to recover theaudit data therefrom. The terminal 20 will read the data stored innon-volatile memory 220, through interface with microprocessor 200, andtransfer to the microprocessor and time and date of the transaction fromthe terminal's internal clock. If the nonvolatile memory 220 is to beerased subsequent to reading data therefrom, the transfer of the timeand date from the terminal will proceed subsequent to such erasure, andthe time and date from the real time clock 240 may also be stored atthat time in order to provide a correlation between the terminal's clockand the time-of-day data provided by the real time clock 240. Thus, incombination, the alternative interfaces, both input and output, as wellas the use of software to provide adaptive configurability, affordssystem 10 its unique and novel features which overcome the disadvantagesand deficiencies of prior art systems.

Although this invention has been described in connection with specificforms and embodiments thereof, it will be appreciated that variousmodifications other than those discussed above may be resorted towithout departing from the spirit or scope of the invention. Forexample, equivalent elements may be substituted for those specificallyshown and described, certain features may be used independently of otherfeatures, and in certain cases, particular locations of elements may bereversed or interposed, all without departing from the spirit or scopeof the invention as defined in the appended claims.

1. An audit monitor for retrofit into a coin operated vending system,the vending system having means for receiving and dispensing fundscoupled to a controller by a data link, said audit system comprising:interface means coupled to the data link for monitoring communicationbetween the funds receiving and dispensing means and the controller,microprocessor means coupled to an output of said interface means for(1) interpreting said monitored communications responsive to parametersselected from a plurality of predetermined parameters, said selectedparameters including at least a protocol of said monitoredcommunications and (2) discriminating and accumulating transaction datafor the coin operated vending system; memory means coupled to saidmicroprocessor means for storing said plurality of predeterminedparameters and said transaction data, said memory means being coupled tosaid microprocessor means by data, addressing and control signalpathways, said memory means including a circuit for (1) reading apredetermined number of said stored predetermined parameters definingsaid selected parameters, and (2) providing an output thereof to saidmicroprocessor means responsive to an identification code input to saidmemory means therefrom from said microprocessor means; power supplymeans coupled to said interface means, said microprocessor means, andsaid memory means for supplying an operating voltage thereto; andinput/output means removably coupled to said microprocessor means forinput of said identification code to said microprocessor and output ofsaid transaction data therefrom.
 2. The audit monitor as recited inclaim 1 where said memory means includes a read only memory for storageof said predetermined parameters.
 3. The audit monitor as recited inclaim 1 where said microprocessor means includes a first serialinterface for providing a wired coupling with said input/output meansand a second serial interface for providing an infrared coupling withsaid input/output means.
 4. The audit monitor as recited in claim 1where said microprocessor means includes means for detecting a failureof said power supply means to supply said operating voltage and meansfor accumulating a total number of times said failure has been detected.5. The audit monitor as recited in claim 1 where said interface meansincludes means for interfacing with a currency validator of the coinoperated vending system.
 6. The audit monitor as recited in claim 1where said interface means includes means for monitoring displacement ofan access door of the coin operated vending system.
 7. The audit monitoras recited in claim 1 where said microprocessor means discriminatesbetween vending operations for items of different monetary values andaccumulates a total number of operations for each of said differentmonetary values and a total of all of said ending operations.
 8. Theaudit monitor as recited in claim 7 where said memory means includesstorage locations for said total number of operations for each of saiddifferent monetary values and said total of all of said vendingoperations.
 9. The audit monitor as recited in claim 1 where said powersupply means includes an input coupled to a D.C. power source of thecoin operated vending system.
 10. An audit monitoring system foraddition to any of plurality of different types of existing coinoperated ending systems, at least one of the types of vending systemshaving a currency validator and a coin changer coupled to a controllerby a data link, said audit monitoring system comprising: adapter meanscoupled to the currency validator, coin changer and controller of thevending system in place of the data link for accessing signalscommunicated therebetween; interface means coupled to said adapter meansfor buffering said accessed signals; microprocessor means coupled to anoutput of said interface means for monitoring said buffered accessedsignals to discriminate and accumulate predetermined transaction datatherefrom, said microprocessor means including means for interpretingsaid buffered accessed signals responsive to parameters selected from aplurality of predetermined parameters; memory means coupled to saidmicroprocessor means for storing said plurality of predeterminedparameters and said transaction data, said memory means being coupled tosaid microprocessor means by data, addressing and control signalpathways, said memory means including a circuit for (1) reading apredetermined number of said stored predetermined parameters definingsaid selected parameters, and (2) providing an output thereof to saidmicroprocessor means responsive to an identification code input to saidmemory means therefrom from said microprocessor means; power supplymeans coupled to said interface means, said microprocessor means, andsaid memory means for supplying an operating voltage thereto; andinput/output means removably coupled to said microprocessor means forinput of identification data to said microprocessor and output of saidtransaction data therefrom.
 11. The audit monitoring system as recitedin claim 10 where said memory means includes a read only memory forstoring said plurality of predetermined parameters.
 12. The auditmonitoring system as recited in claim 10 where said microprocessor meansincludes a first serial interface for providing a wired coupling withsaid input/output means.
 13. The audit monitoring system as recited inclaim 12 where said microprocessor means includes a second serialinterface for providing an infrared coupling with said input/outputmeans.
 14. The audit monitoring system as recited in claim 10 where saidmicroprocessor means includes means for accumulating values for each ofa total number of bills accepted by the currency validator, a totalnumber of bills in a stacker of the currency validator, a total numberof coins entered into various compartments of the coin changer, a totalnumber and value of coins paid out, a total number of vending operationsand a total number of vending operations for each of a plurality ofdifferently priced items, said accumulated values being stored in saidmemory means and subsequently output to said input/out put input/outputmeans responsive to a command signal therefrom.
 15. The audit monitoringsystem as recited in claim 14 where said memory means includes anon-volatile erasable memory coupled to said microprocessor means forstorage of said accumulated totals therein.
 16. The audit monitoringsystem as recited in claim 10 where said adapter means further includesmeans for monitoring displacement of an access door of the coin operatedvending system having an output coupled to said interface means, saiddisplacement monitoring means providing a signal to said interface meansresponsive to opening of the access door for transmission to saidmicroprocessor to accumulate a number of door opening occurrences. 17.The audit monitoring system as recited in claim 10 where said powersupply means includes an input coupled to a D.C. power source of thevending system.
 18. The audit monitoring system as recited in claim 10where said audit monitoring system further comprises a real time clockhaving an output coupled to said microprocessor for providing a time ofday value.
 19. The audit monitoring system as recited in claim 18 wheresaid adapter means further includes means for monitoring displacement ofan access door of the coin operated vending system having an outputcoupled to said interface means for providing a signal to saidmicroprocessor means responsive to opening of the access door toaccumulate a number of door opening occurrences and a respective time ofday value therefore.